package com.leaf.u_spring.chapter04;

/**
 * 编写Performance的perform()方法触发的通知
 * 
 * 舞台
 */
public interface Performance {

	public void perform();
	
	/**
	 
	 execution(* com.leaf.u_spring.chapter04.Performance.perform(..))
	 execution指示器选择Performance的perform()方法
	 表达式 以"*"号开始，表明我们不关心方法返回值的类型，然后指定了全限定类名和方法名，参数列表(..)表明切点要选择任意的perform()方法，不限参数
	 
	 
	 execution(* com.leaf.u_spring.chapter04.Performance.perform(..)
	 			&& within(com.leaf.u_spring.*))
	 &&与(and)操作,within(com.leaf.u_spring.*)当在指定包下任意类的方法被调用
	 使用within指示器限制切点范围
	 
	 execution(* com.leaf.u_spring.chapter04.Performance.perform(..)
	 			&& bean('woodstock'))
	 限定bean的ID为woodstock才触发
	 
	 */
	
}
